Hi Scott,
The only thing I see is that there was a missing function prototype and some function prototypes were in the middle of main() instead of before main. I've attached a corrected program. But I wouldn't expect that to be your issue.
You might try standard troubleshooting techniques to narrow down the possibilities such as remove the button code to see if the problem goes away.
Observe the KMotion.exe Console to see any nessage on which axis is being disabled.
Observe the Axis Screen to see which axes are enabled and disabled and their Positions and Destinations.
Try moving very very slowly (F - feedrate) to see if that has an effect.
HTH
Regards
TK
Group: DynoMotion |
Message: 11190 |
From: cnc_machines |
Date: 3/10/2015 |
Subject: Re: KStep Closed Loop Following Errors [1 Attachment] |
Thank you Tom, I will keep looking. I dont see the attached program, did you miss attaching it?
I was wondering if maybe having buttons and the warning blink light before the service amplifer disable could be causing it. Perhaps the program was taking too much time with these functions and allowed an error:
T0 = Time_sec(); // record the time and position of last motion LastX=ch0->Dest;
Maybe changing these variables after a delay could effect following errors?
Scott
|
|
Group: DynoMotion |
Message: 11193 |
From: Tom Kerekes |
Date: 3/10/2015 |
Subject: Re: KStep Closed Loop Following Errors |
Hi Scott,
I don't see that as taking much time (< 1us) or being an issue.
Regards TK
Group: DynoMotion |
Message: 11337 |
From: Tom Kerekes |
Date: 4/10/2015 |
Subject: Re: KStep Closed Loop Following Errors |
Hi Scott,
Looks like I forgot to post the C Program.
I also noticed this:
if (Time_sec() > T0 + .1) ClearBit(45); ClearBit(0); SetBit(1); Only the ClearBit(45) is included in the "if" condition. But I think your intent was to have all 3 statements. In that case curly brackets are needed.
if (Time_sec() > T0 + .1) { ClearBit(45); ClearBit(0); SetBit(1); }
Regards TK
| | | |